package Guia1;

import org.junit.Assert;
import org.junit.Test;


public class PruebaCalculadoraPostfija {

	@Test
	public void limpiarUnOperando(){
		CalculadoraPostfija calculadora = new CalculadoraPostfija();
		calculadora.ingresar(10);
		calculadora.limpiar();
		
		Assert.assertEquals(0.0, calculadora.obtener(), 0.001);
	}
	
	@Test
	public void sumarOperandos(){
		CalculadoraPostfija calculadora = new CalculadoraPostfija();
		calculadora.ingresar(5.0);
		calculadora.ingresar(1.5);
		
		calculadora.sumar();
		
		Assert.assertEquals(6.5, calculadora.obtener(), 0.001);
	}
	
	@Test
	public void sumarConUnSoloOperando(){
		CalculadoraPostfija calculadora = new CalculadoraPostfija();
		calculadora.ingresar(5.0);
		
		calculadora.sumar();
		
		Assert.assertEquals(5.0, calculadora.obtener(), 0.001);
	}
	
	@Test
	public void restarOperandos(){
		CalculadoraPostfija calculadora = new CalculadoraPostfija();
		calculadora.ingresar(5.0);
		calculadora.ingresar(1.0);
		
		calculadora.restar();
		
		Assert.assertEquals(-4.0, calculadora.obtener(), 0.001);
	}
	
	@Test
	public void restarConUnSoloOperando(){
		CalculadoraPostfija calculadora = new CalculadoraPostfija();
		calculadora.ingresar(5.0);
		
		calculadora.restar();
		
		Assert.assertEquals(5.0, calculadora.obtener(), 0.001);
	}
	
	@Test
	public void multiplicarOperandos(){
		CalculadoraPostfija calculadora = new CalculadoraPostfija();
		calculadora.ingresar(5.0);
		calculadora.ingresar(2.0);
		
		calculadora.multiplicar();
		
		Assert.assertEquals(10.0, calculadora.obtener(), 0.001);
	}
	
	@Test
	public void multiplicarSinOperandos(){
		CalculadoraPostfija calculadora = new CalculadoraPostfija();
		
		calculadora.multiplicar();
		
		Assert.assertEquals(0.0, calculadora.obtener(), 0.001);
	}
	
	@Test
	public void dividirOperandos(){
		CalculadoraPostfija calculadora = new CalculadoraPostfija();
		calculadora.ingresar(2.0);
		calculadora.ingresar(6.0);
		
		calculadora.dividir();
		
		Assert.assertEquals(3.0, calculadora.obtener(), 0.001);
	}
}
